Mobile Hub に追加された NoSQL Database(DynamoDB) を使ってみる
はじめに
こんにちは! haruhatahikoです。
GWはお家に引きこもってました…
Mobile Hub に NoSQL Database(Amazon DynamoDB) が追加されたので、使ってみます!
本記事ではサンプルのテーブルを使用し、アプリで動作確認するまでを行います。
プロジェクトの作成
アプリ名を決め、「Create project」を押下する。
DynamoDB の追加
「NoSQL Database」を選択する。
「Enable NoSQL」を選択し、「Add a new table」を押下する。
今回は「Example」を選択します。
5つのExampleの中から、今回は「News」を選択します。
App user permissions are based on each user's identity which is established when users sign in. You can make the table public or configure the User Sign-in feature.
「Protected」を選択すると、上記文言が表示されたので、こちらの記事 を参考にし、「User Sign-in」を設定しました。
「attributes」を指定します。今回は初期値から変更しませんでした。
「index」を指定します。今回は初期値から変更しませんでした。
「Create table」を押下します。
「Create table」を押下します。
「NoSQL Database」が設定されました!
(途中で追加した「User Sign-in」も設定されています)
アプリを起動し、サンプルデータを追加する
「Buildタブ」を選択し、アプリをダウンロードします。
今回は「iOS Obj-C」を選択しました。
アプリを起動すると、「User Sign-in」で設定したログインを求められますので、ログインを行ってください。
「NoSQL Database」を選択する。
「Demo NoSQL Database」を押下する。
先ほど「News」テーブルが表示されるので選択します。
下に表示されている「Insert Sample Data」を押下します。
サンプルデータが20件追加されます。
動作確認
以上により、Mobile Hub に追加された NoSQL Database(Amazon DynamoDB) を動作確認できる環境が整いました。
アプリでは下記Queryを実行することができます。
Primary Index Queries | Examples |
---|---|
Get Item | Find item with userId = ABC and articleId = ABC |
Query by Partition Key | Find all items with userId = ABC |
Query by Partition Key, and Filter | Find all items with userId = ABC and author begins with XY |
Query by Partition Key and Sort Condition | Find all items with userId = ABC and articleId is < zzz |
Query by Partition Key, Sort Condition, and Filter | Find all items with userId = ABC and articleId is between aaa and zzz and author begins with XY |
今回は「Get Item」を動かしてみます。
「Get Item」を選択します。
DynamoDBから情報を取得することができました!
まとめ
スマートフォンの案件で DynamoDB を利用する際、Mobile Hubで簡単にサンプルプロジェクトを組み立て、動作確認しておくとより良い設計ができそうだと思いました。
参考
https://dev.classmethod.jp/cloud/aws/mobile-hub-overview/ https://dev.classmethod.jp/cloud/aws/android_mobile-hub_part1/ https://dev.classmethod.jp/cloud/aws/android_mobile-hub_part2/